#ifndef WINDOW_H
#define WINDOW_H

#include <QWidget>

#include "menustate.h"
#include "gamestate.h"
#include "statemanager.h"
#include "instructionstate.h"

class QGridLayout;

class GameWindow;
class OpencvWindow;
class MLGestureControl;

class Window : public QWidget
{
    Q_OBJECT
public:
	explicit Window(QWidget *parent = 0);
	~Window();
	static QGridLayout* getLayout();
	static MenuState* getMenuState();
	static GameState* getGameState();
	static InstructionState *getInstructionState();

private slots:
	void process();
	void renderWindows();

private:
	static QGridLayout *layout;
	static MenuState *menu_;
	static GameState *gameState_;
	static InstructionState *instructionState_;
};

#endif // WINDOW_H
